home *** CD-ROM | disk | FTP | other *** search
Wrap
ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) NNNNAAAAMMMMEEEE dmTCToString, dmTCFromString, DMtimecode, tc_type - digital media timecode mathematics SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____ttttiiiimmmmeeeeccccooooddddeeee....hhhh>>>> DDDDMMMMssssttttaaaattttuuuussss ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg (((( cccchhhhaaaarrrr **** oooouuuuttttssssttttrrrriiiinnnngggg,,,, ccccoooonnnnsssstttt DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee ****ttttcccc )))) DDDDMMMMssssttttaaaattttuuuussss ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg (((( DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee **** rrrreeeessssuuuulllltttt,,,, ccccoooonnnnsssstttt cccchhhhaaaarrrr **** iiiinnnnssssttttrrrriiiinnnngggg,,,, iiiinnnntttt ttttcccc____ttttyyyyppppeeee )))) TTTTYYYYPPPPEEEESSSS _D_M_t_i_m_e_c_o_d_e A structure containing a representation of SMPTE time code on which certain mathematical and utility functions can be performed. Can be used with: ddddmmmmTTTTCCCCAAAAddddddddTTTTCCCC((((3333ddddmmmm)))), ddddmmmmTTTTCCCCAAAAddddddddFFFFrrrraaaammmmeeeessss((((3333ddddmmmm)))), ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))), ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSeeeeccccoooonnnnddddssss((((3333ddddmmmm)))), ddddmmmmTTTTCCCCTTTTooooSSSSeeeeccccoooonnnnddddssss((((3333ddddmmmm)))), ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))), ddddmmmmTTTTCCCCFFFFrrrraaaammmmeeeessssPPPPeeeerrrrDDDDaaaayyyy((((3333ddddmmmm)))), and ddddmmmmTTTTCCCCFFFFrrrraaaammmmeeeessssBBBBeeeettttwwwweeeeeeeennnn((((3333ddddmmmm)))). Can also be used with the ddddmmmmLLLLTTTTCCCC((((3333ddddmmmm)))) and ddddmmmmVVVVIIIITTTTCCCC((((3333ddddmmmm)))) routines. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS _o_u_t_s_t_r_i_n_g The string created by converting _t_c. _t_c The timecode operand to convert to a string. _r_e_s_u_l_t The result of converting _i_n_s_t_r_i_n_g to a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee. _i_n_s_t_r_i_n_g The string to convert into a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee. _t_c__t_y_p_e The timecode type which ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg should assume the string is in. See TC_TYPE below. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN These utility functions will convert between strings and DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee's. To convert from a string to a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee, the string format must a colon-separated string (in the form "h:m:s:f"); if fields are missing (i.e., "01:01:04") the string will be interpreted by assuming that the PPPPaaaaggggeeee 1111 ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) missing fields are on the left, and are "0". Thus, for example, the string "2:14" will be interpreted as "0:0:2:14." When converting from a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee to a string, the string returned will be fully justified and contain all fields. (i.e., it will return a fully-justified "00:00:02:14"). TTTTCCCC____TTTTYYYYPPPPEEEE The dmTC routines, as well as other timecode-related routines such as dmVITC and dmLTC, depend on a proper setting of the tc_type field. Often this tc_type field appears as a member of a DMtimecode passed to or from one of these routines. The tc_type field tells these routines whether the maximum frame value is 25 or 30, whether 30 frame code is drop frame or not, and if so what kind of drop frame. The tc_type field, defined in <dmedia/dm_timecode.h>, consists of an or'ed together bitmask of fields indicating format (DM_TC_FORMAT_...), timecode rate (DM_TC_RATE_...), and dropframe status (DM_TC_*DROP*), but most users will find it much easier just to use one of the pre- constructed, fully-qualified tokens: DM_TC_30_ND - non-drop-frame NTSC or M/PAL timecode DM_TC_2997_4FIELD_DROP - drop-frame NTSC timecode DM_TC_2997_8FIELD_DROP - drop-frame M/PAL timecode DM_TC_25_ND - PAL timecode (not M/PAL) DM_TC_24_ND - 24 frame per second film timecode DM_TC_60_ND - non-drop-frame 60 frame per second HDTV timecode (experiemental) DM_TC_5594_8FIELD_DROP - drop-frame 59.94 frame per second HDTV timecode (experiemental) The most common tokens for US use are DM_TC_24_ND, DM_TC_2997_4FIELD_DROP and DM_TC_30_ND. In Europe, DM_TC_24_ND and DM_TC_25_ND will be the most commonly used tokens. "NTSC" and "PAL" above really refer to any 525/60 signal and 625/50 signal, respectively. Note on rates: the DM_TC_RATE field within tc_type does not refer to the video signal's rate. It simply refers to whether "30 frame" timecode is drop frame or not. Non-drop frame code has exactly 30 frames per second, drop-frame code has exactly 29.97 frames per second over the full day. The actual video signal rate is neither requested nor required by dmTC and other timecode routines. For color NTSC and M/PAL signals, it happens to be 30000/1001 frames per second, which equals neither 30 nor 29.97. Because of this, any dmTC routines (such as ddddmmmmTTTTCCCCTTTTooooSSSSeeeeccccoooonnnnddddssss) which go between a timecode value and real time will assume a timecode rate as given by DM_TC_RATE, nnnnooootttt as given by the actual video signal's frame rate. This means that over the long term, drop frame timecode will drift PPPPaaaaggggeeee 2222 ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg((((3333ddddmmmm)))) away from real time at the rate of about 2 frames per day. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE If a DDDDMMMMttttiiiimmmmeeeeccccooooddddeeee operand (_t_c) contains an illegal timecode value (e.g., a negative entry, invalid frame number, etc.), ddddmmmmTTTTCCCCTTTTooooSSSSttttrrrriiiinnnngggg will return DM_FAILURE, and the contents of _o_u_t_s_t_r_i_n_g will be undefined. If ddddmmmmTTTTCCCCFFFFrrrroooommmmSSSSttttrrrriiiinnnngggg is unable to interpret an input string _i_n_s_t_r_i_n_g, it will return DM_FAILURE, and the contents of _r_e_s_u_l_t will be undefined. SSSSEEEEEEEE AAAALLLLSSSSOOOO dmTCAddTC(3dm), dmTCAddFrames(3dm), dmTCFromSeconds(3dm), dmTCToSeconds(3dm), dmTCFramesPerDay(3dm), dmTCFramesBetween(3dm), dmLTC(3dm), dmVITC(3dm) PPPPaaaaggggeeee 3333